.TH PERROR 3 
.SH NAME
perror, sys_errlist, sys_nerr \- system error messages
.SH SYNOPSIS
.B perror(s)
.br
.B char *s;
.PP
.B int sys_nerr;
.br
.B char *sys_errlist[];
.SH DESCRIPTION
.I Perror
produces a short error message
on the standard error file
describing the last error encountered during a call
to the system from a C program.
First the argument string
.I s
is printed, then a colon, then the message and a new-line.
Most usefully, the argument string is the name
of the program which incurred the error.
The error number is taken from the external variable
.I errno
(see
.IR intro (2)),
which is set when errors occur but not cleared when
non-erroneous calls are made.
.PP
To simplify variant formatting
of messages, the vector of message strings
.I sys_errlist
is provided;
.I errno
can be used as an index in this table to get the
message string without the newline.
.I Sys_nerr
is the number of messages provided for in the table;
it should be checked because new
error codes may be added to the system before
they are added to the table.
.SH "SEE ALSO"
intro(2)
